Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
@types/node-fetch
Advanced tools
TypeScript definitions for node-fetch
The @types/node-fetch npm package provides TypeScript type definitions for the node-fetch library, which is a light-weight module that enables making HTTP requests in Node.js environments similar to the Fetch API provided in the browser. This package does not contain functionality by itself but offers type support for using node-fetch in TypeScript projects, ensuring type safety and IntelliSense in IDEs.
Making HTTP GET Requests
This code demonstrates how to make a simple HTTP GET request to retrieve data from a JSON placeholder API and log it to the console. The @types/node-fetch package provides type definitions for the response object and its methods.
import fetch from 'node-fetch';
async function getTodo() {
const response = await fetch('https://jsonplaceholder.typicode.com/todos/1');
const data = await response.json();
console.log(data);
}
getTodo();
Making HTTP POST Requests
This example shows how to make an HTTP POST request to create a new resource on a JSON placeholder API. It demonstrates setting the request method, body, and headers. The @types/node-fetch package ensures that the properties and methods used are correctly typed.
import fetch from 'node-fetch';
async function createTodo() {
const response = await fetch('https://jsonplaceholder.typicode.com/todos', {
method: 'POST',
body: JSON.stringify({
title: 'foo',
body: 'bar',
userId: 1
}),
headers: { 'Content-Type': 'application/json' }
});
const data = await response.json();
console.log(data);
}
createTodo();
Axios is a promise-based HTTP client for the browser and Node.js. It provides an easy-to-use API for making HTTP requests and has built-in support for request and response interceptors, transforming request and response data, and automatic JSON data transformation. Unlike @types/node-fetch, Axios does not require an additional types package for TypeScript support as it includes its own type definitions.
Got is a human-friendly and powerful HTTP request library for Node.js. It supports retries, streams, and pagination, among other features. Got is designed to be more comprehensive than node-fetch, offering more built-in functionalities like caching and request retries. TypeScript types are included in the package, so there's no need for an additional @types package.
Superagent is a light-weight progressive ajax API crafted for flexibility, readability, and a low learning curve after being frustrated with many of the existing request APIs. It works with both Node.js and browser environments. Like Axios, it has built-in type definitions, eliminating the need for a separate types package.
npm install --save @types/node-fetch
This package contains type definitions for node-fetch (https://github.com/bitinn/node-fetch).
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node-fetch.
These definitions were written by Torsten Werner, Niklas Lindgren, Vinay Bedre, Antonio Román, Andrew Leedham, Jason Li, Steve Faulkner, ExE Boss, Alex Savin, Alexis Tyler, Jakub Kisielewski, and David Glasser.
FAQs
TypeScript definitions for node-fetch
We found that @types/node-fetch demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.